草庐IT

java - 如何解决 Hibernate 异常 "IllegalArgumentException occurred while calling setter"的原因?

当我的程序尝试按名称从数据库中加载用户时,Hibernate抛出的偶尔异常IllegalArgumentExceptionoccurredwhilecallingsetter如何解决?我是否错误地将表User中的列USER_RV映射到类Integer而不是BigDecimal或其他一些整数类型?请注意,同一应用程序将其他表中的NUMBER列映射到Integer对象,但Hibernate在用行填充对象时不会抛出此异常来自那些表。另外请注意,该程序为仅用户缓存启用RMI缓存复制。此异常可能与缓存复制有关吗?是Ehcache还是Hibernate的bug?Causedby:org.sprin

java - 获取多个 onetoMany 关系 Hibernate JPA

我正在使用HibernateJPA1.0。我有以下类型的模型,我认为manyToOne和oneToOne关系是“急切地”获取的,oneToMany是“懒惰地”获取的。我想获取实体A及其所有关联,其中a.id=?A一对多BB一对一C单对多BoneToOneEEoneToManyDBoneToOneFFoneToManyD是否可以在单个查询中加载该实体?或者在不考虑“n+1选择问题”的查询子集中!到目前为止,我加载所有A关联的解决方案是执行以下操作:“从A中选择DISTINCTaJOINFETCHa.bsWHEREa.id=:aID”然后使用代码迭代以获取所有其他关联。集合Bbs=A.ge

java - 如何在 Hibernate 中将单独的主键添加到联接表

我有一个关于HibernateManyToMany映射的问题。我有两个类A和B,它们之间的映射是由Hibernate解析的ManyToMany映射:@Entity@Table(name="A")publicclassA{@Id@GeneratedValueprivateLongid;@ManyToMany@JoinTable(name="C",joinColumns=@JoinColumn(name="a_id"),inverseJoinColumns=@JoinColumn(name="b_id"))privateSetbs;}@Entity@Table(name="B")publi

java - 在哪里可以找到 jpa orm.xml 使用示例

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于StackOverflow来说是偏离主题的,因为它们往往会吸引自以为是的答案和垃圾邮件。相反,describetheproblem以及迄今为止为解决该问题所做的工作。关闭8年前。Improvethisquestion我正在尝试查看JPAorm.xml的一些使用示例。如果有人将我指向一个链接,

java - 在 hibernate 中使用复合主键保留 1-m 实体

我在指导学生的实体上有低于1-m的关系。导师有复合主键,我将其用作学生的外键@EntitypublicclassMentorimplementsSerializable{privatestaticfinallongserialVersionUID=1L;@IdprivateMentorPKid;privateStringemail;@OneToMany(mappedBy="mentor")privateSetstudents;publicMentorPKgetId(){returnid;}//gettersandsetters}@EmbeddablepublicclassMentorP

java - Hibernate 多态性 : instantiating the right class

我是hibernate的新手,您很快就会看到。如果这个问题有一个简单的答案,我深表歉意,但我对所有术语都不够熟悉,无法轻松找到答案。假设我有一个基类“A”和一个子类“B”,我正在使用Hibernate进行映射,也许使用每个子类策略的表。基类不是抽象的。所有B都是A,但并非所有A都是B。这反射(reflect)在数据库中,其中表B引用表A。好的,现在假设我有一个显示A对象列表的程序。用户可以选择任何A对象并转到屏幕进行修改...但是,如果A对象也是B,则屏幕将允许用户修改B而不仅仅是A。我到底该如何处理这个问题?注意:我不是在问如何确定一个对象是什么类。我要问的是如何让hibernate

java - Hibernate - 如何映射 EnumSet

我有一个颜色枚举publicenumcolor{GREEN,WHITE,RED}我有包含它的MyEntity。publicclassMyEntity{privateSetcolors;...我已经有一个UserType来映射我的枚举。你知道如何在Hibernatehbm.xml中映射一组枚举吗?我需要UserType还是有最简单的方法?谢谢编辑:只是要说明一下,我正在寻找hbm.xml配置而不是@CollectionOfElements注释 最佳答案 我使用来自EnumSetmapping的解决方案依赖于使用的线程.您只需要一个带有

java - 优缺点 : Hibernate vs. EJB 3

Hibernate和EJB3相对于彼此的优点和缺点是什么?我找到了this帖子,但它并没有真正解决我的问题。如果我对这两种技术都没有任何特别的联系,什么会导致我选择其中一种而不是另一种?或者在某些情况下我想同时使用两者?谢谢,扎克编辑:回应评论:我不太了解EJB3。我只是想了解它是否对我的公司可行。如果EJB3不能与Hibernate相媲美,请解释原因。 最佳答案 JPA提供了Hibernate功能的一个子集,但是EJB3提供了Hibernate没有解决的其他服务(例如Web服务、EJB、定时器服务)与Hibernate相比,JPA

java - JPA left join 查找未使用的条目

我确定我是愚蠢的,但我似乎无法弄清楚这一点......我有两个表:部门(做过,名字)员工(eid,第一个,最后一个,做了)他们有相应的实体JPA管理实体Department和Employee。Employee有Deparment字段,Department不维护Employee列表。不过,我想做的是找到所有没有员工的部门。使用普通的旧SQL通过左连接很容易:SELECTd.*FROMdepartmentasdLEFTOUTERJOINemployeeaseONd.did=e.didWHEREe.didISNULL不过我看不出如何将此查询转换为JPQL。例如,我为JPQL左连接找到的所有示

java - 如何使用 JPA 检索多个对象?

我将JPA2/hibernate与此数据模型一起使用:classStock{@ManyToOneprivateStockGroupstockGroup;privatebooleanvisible;}classStockGroup{@OneToMany(mappedBy="stockGroup")privateListstocks;}我想检索包含Stock的StockGroup,其中visible==true。我想出了这个错误的代码:CriteriaBuildercb=em.getCriteriaBuilder();CriteriaQueryq=cb.createQuery(StockG