Tag: hibernate

JPA,Mysql Blob返回的数据太长了

我在我的实体中有一些byte[]字段,例如: @Entity public class ServicePicture implements Serializable { private static final long serialVersionUID = 2877629751219730559L; // seam-gen attributes (you should probably edit these) @Id @GeneratedValue private Long id; private String description; @Lob @Basic(fetch = FetchType.LAZY) private byte[] picture; 在我的数据库模式的字段设置为BLOB所以这应该没问题。 无论如何:每次当我尝试插入一张图片或pdf – 没有大于1mb ,我只收到这个 16:52:27,327 WARN [JDBCExceptionReporter] SQL Error: 0, SQLState: 22001 16:52:27,327 ERROR [JDBCExceptionReporter] Data […]

Hibernate如何检测实体对象的脏状态?

它是使用某种字节代码修改原始类? 或者,也许Hibernate通过比较给定的对象与以前的持久版本得到肮脏的状态? 我遇到了复杂对象的hashCode()和equals()方法的问题。 如果对象具有集合成员,我觉得计算哈希代码会很慢,而循环引用也是一个问题。 如果Hibernate不会使用hashCode() / equals()来检查脏状态,我想我不应该使用equals() / hashCode()作为实体对象(不是value对象),但是我也害怕如果相同的运算符( == )是不够的。 所以,问题是: Hibernate如何知道对象的属性是否改变? 你build议覆盖hashCode() /等equals()方法复杂的对象吗? 如果它们包含循环引用呢? 并且, 只有id域的hashCode() / equals()会不够?

使用Hibernate进行不区分大小写的search

我正在使用Hibernate将Java应用程序的ORM应用到Oracle数据库(不是数据库供应商很重要,我们可能有一天会切换到另一个数据库),我想根据用户提供的string从数据库中检索对象。 例如,在search人时,如果用户正在寻找居住在“fran”的人,我希望能够在旧金山给她的人。 SQL不是我的强项,我更喜欢Hibernate的Criteria构build代码来硬编码string。 任何人都可以在正确的方向上指出我如何在代码中做到这一点,如果不可能,硬编码SQL应该是什么样子? 谢谢, Yuval = 8-)

f:convertDateTime显示错误date

在我的Web应用程序中,我使用Hibernate检索数据并将其显示在RichFaces数据表中。 在我的MySQL表中有一个“date”types的字段。 当我将这个字段打印到我的Bean中的日志中时,它会显示数据库中的正确date(例如2010-04-21)。 但在富人:dataTable中显示如下: 10年4月20日 所以有一天的差距! 我添加了“f:convertDateTime”转换器,并将“type”属性设置为“both”以显示时间。 所以现在它显示: 4/20/10 10:00:00 PM 我已经使用的“f:convertDateTime”代码: <f:convertDateTime locale="locale.US" type="both" dateStyle="short"/> 所以看起来像f:convertDateTime梦想了一段时间,因为没有时间信息在MySQL的表字段! 我究竟做错了什么? 我需要做什么才能显示正确的date? 谢谢Tom

我应该先学什么,Spring或Hibernate?

我刚刚开始学习Struts,我正在努力成为一名Java程序员,做一个好的市场。 我的下一个决定是select下一步学习Spring还是Hibernate? 还有,你们有什么build议或提示,我是好的? 提前致谢!

如何强制Hibernate返回date为java.util.Date而不是Timestamp?

情况 : 我有一个持久化的类与java.util.Datetypes的variables: import java.util.Date; @Entity @Table(name = "prd_period") @Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE) public class Period extends ManagedEntity implements Interval { @Column(name = "startdate_", nullable = false) private Date startDate; } DB中的对应表: CREATE TABLE 'prd_period' ( 'id_' bigint(20) NOT NULL AUTO_INCREMENT, … 'startdate_' datetime NOT NULL ) 然后我将我的Period对象保存到DB: Period p = new Period(); Date d = […]

Spring Repository中是否可以使用原始SQL?

我需要在Spring Data Repository中使用原始SQL,这可能吗? 我在@Query看到的所有东西都是基于实体的。

这个HQL有什么问题? “节点没有数据types”

session.createQuery("Select attribute from GoodsSection tgs " + "join gs.ascendants ags join ags.attributes attribute " + "where attribute.outerId = :outerId and tgs = :section ") .setString("outerId", pOuterId) .setEntity("section", section) .setMaxResults(1) .uniqueResult(); 对我来说看起来不错,但结果是 java.lang.IllegalStateException: No data type for node: org.hibernate.hql.ast.tree.IdentNode \-[IDENT] IdentNode: 'attribute' {originalText=attribute} at org.hibernate.hql.ast.tree.SelectClause.initializeExplicitSelectClause(SelectClause.java:145) at org.hibernate.hql.ast.HqlSqlWalker.useSelectClause(HqlSqlWalker.java:705) at org.hibernate.hql.ast.HqlSqlWalker.processQuery(HqlSqlWalker.java:529) at org.hibernate.hql.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:645) at org.hibernate.hql.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:281) at org.hibernate.hql.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:229) 为什么? […]

Hibernate ORM 5有哪些新特性?

我刚刚看到第四名候选人获得了Hibernate 5的发布。与早期版本相比,5中有哪些新function?

org.hibernate.MappingException:无法确定types:java.util.Set

虽然这个问题问了很多次,我已经使用了所有的build议,但我仍然得到这个错误。 User.java是 @Entity @Table(name = "USER") public class User implements UserDetails, Serializable { private static final long serialVersionUID = 2L; @Id @Column(name = "USER_ID") @GeneratedValue(strategy = GenerationType.IDENTITY) private long id; @Column(name = "USERNAME") private String username; @Column(name = "PASSWORD") private String password; @Column(name = "NAME") private String name; @Column(name = "EMAIL") private String email; @Column(name […]