我正在使用带有spring boot 1.2.5的hibernate 4.3.11.final。我正面临以下问题: 1.当hibernate尝试从其中一个表中查找结果时。它返回零结果。但是当我在mysql shell上尝试相同的查询时。它为我提供了正确的结果。
还有一件事,当我使用eclipse在调试模式下运行代码并逐步运行时,有时我会得到结果。
我也使用连接池以及hibernate c3p0。 请提出可能存在的问题。
以下属性我使用:
hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
hibernate.show_sql=true
hibernate.format_sql=true
hibernate.create_mode=update
hibernate.connection.release_mode=on_close
hibernate.c3p0.min_size=10
hibernate.c3p0.max_size=100
hibernate.c3p0.timeout=300
hibernate.c3p0.max_statements=0
hibernate.c3p0.idle_test_period=100
hibernate.c3p0.acquire_increment=1
Dao Code:
Session s = sessionFactory.openSession();
MediaRequest mediaRequest = null;
try {
Query q = s.createQuery("from MediaRequest where mediaId = :mediaId");
q.setParameter("mediaId", mediaId);
if(q.list().isEmpty()) {
return null;
}
mediaRequest = (MediaRequest) q.list().get(0);
豆:
@Entity
@Table(name = "media_request")
public class MediaRequest implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
@Column(nullable = false)
private String mediaId;
@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(referencedColumnName = "id", nullable = false)
@Type(type = "int")
private History history;
@Column
private String mediaId;