草庐IT

java - 如何使用 JPA2 持久化包含用户类型字段的实体

我正在寻找一种方法来持久化包含用户类型字段的实体。在这个特定示例中,我想将ts字段保留为毫秒数。importorg.joda.time.DateTime;@EntitypublicclassFoo{@IdprivateLongid;privateDateTimets;} 最佳答案 JPA无法注册自定义属性类型,您必须使用提供者特定的东西:hibernate:http://joda-time.sourceforge.net/contrib/hibernate/Eclipse链接:http://code.google.com/p/jod

java - JPA(Hibernate)列映射中的原始类和包装类之间有什么区别?

例如,数据库表中有一个整数列。那么在java模型中,既可以映射为primitiveint,也可以映射为Integer。我的问题是在这种情况下int和Integer之间有什么区别?和性能问题?谢谢! 最佳答案 我倾向于避免使用原语。对于Id属性尤其如此。这使得可以通过测试null来检测尚未设置的值。如果使用Java5或更高版本,自动装箱会消除痛苦(并且不是性能问题)。但也适用于其他属性。正如@skaffman所指出的,基元不适用于可为空的列,我希望代码尽可能灵活。 关于java-JPA(H

java - JPA 实体映射到可选的 SecondaryTable

我有一个实体。我想有选择地从辅助表加载有关实体的其他信息。我有以下映射。@Entity@Table(name="program",schema="myschema")@SecondaryTable(name="program_info",schema="myschema",pkJoinColumns=@PrimaryKeyJoinColumn(name="program_id",referencedColumnName="program_id"))publicclassProgram{...}我已正确映射所有列,并且单元测试有效。当程序表中有一行在program_info表中没有对应行

java - maven/eclipse JPA 项目和实体生成?

我对此有点困惑:我已经设置了一个简单的maven-archetype-webapp到目前为止,我一直在从普通POJO创建实体,并根据需要添加注释但最近我认为可能有一些方法可以简化这个实体的创建,所以我用谷歌搜索并发现了可以帮助我生成JPA实体的eclipse..我尝试右键单击包含实体的包,然后新建->JPA->实体,结果发现我只能在JPA项目中使用它。一方面,我有一个maven项目(不是由eclipse创建的JPA项目),另一方面,我想尝试一下eclipseJPA。还有一件事,我有一些想法,我们可以使用GUI工具进行设计,创建实体,定义关系,定义诸如id生成序列、多个唯一列、复合键等配

java - 使用带有多对多映射的 QueryDSL JPA 编写查询

我在使用QueryDSL创建查询时遇到问题。我想通过其ID检索某个用户的所有组。这是如何工作的?publicListfindGroupsByUser(IntegeruserId){JPQLQueryquery=newJPAQuery(getEntityManager());??????returnresult;}映射类:@Entity(name="user")publicclassUser{@Idprivateintid;privateStringlogin;@ManyToMany@JoinTable(name="user2group",joinColumns=@JoinColumn(

java - 是否有任何好的通用 JPA DAO 实现?

根据thisarticle,通用JPADAO(数据访问对象)是一个非常好的模式。有什么好的实现方式吗? 最佳答案 您可以查看SpringDataJPA.SpringDataJPA中引入了一些新概念,例如基于方法名称的查询创建,因此您可以声明一个方法,如findById(Stringid)和“通用”实现将解释方法的名称并执行类似selectEntityfromEntitywhereid='givenstring'findByNameAndLastName(Stringname,StringlastName)甚至findByNameOr

java - Spring 管理事务、EclipseLink JPA、自定义隔离级别

我怀疑这个很尴尬,我做错了很糟糕,但请耐心等待。我有一个带有Spring管理的事务的Spring应用程序。它使用EclipseLinkJPA。我有一个执行findByNativeQuery()后跟merge()的方法。我需要在真正的串行事务隔离级别中发生这种情况。我尝试添加@Transactional(isolation=Isolation.SERIALIZABLE)这不起作用,因为org.springframework.orm.jpa.vendor.EclipseLinkJpaDialect#beginTransaction不支持任何事务隔离级别,但默认。因此,我尝试进入Elcips

java - 使用 JPA 覆盖 @MappedSuperclass 中定义的 @Id

我有一个AbstractEntity类,它由我的应用程序中的所有实体扩展,基本上充当标识符提供者。@MappedSuperclasspublicclassAbstractEntityimplementsDomainEntity{privatestaticfinallongserialVersionUID=1L;/**Thisobject'sid*/@Id@GeneratedValue(strategy=GenerationType.AUTO)protectedlongid;@Temporal(TemporalType.TIMESTAMP)@Column(name="creation_d

java - Spring Data JPA 存储库抛出空指针

这个问题在这里已经有了答案:WhyismySpring@Autowiredfieldnull?(21个回答)关闭6年前。我一直在使用SpringBoot和SpringData。通过JavaConfig文档,我已经设置了一个SpringJPA配置,但是当在我的存储库中调用save方法时,会抛出一个空指针。我的仓库:importorg.springframework.data.jpa.repository.JpaRepository;publicinterfaceHouseRepositoryextendsJpaRepository{}我的POJO:抽象屋@MappedSuperclass

java - spring-data-jpa: ORA-01795: 列表中表达式的最大数量为 1000

我正在使用SpringDataJPA。我想从ListclientIdList获取client.id的交易.问题是我传递了一个非常大的列表,然后返回了一个ORA-01795错误。@Query(value="SELECTTransactRepViewModelFROMTransactRepViewModelaWHEREa.clientIdIN(?1)ANDa.clDateBETWEEN?2and?3",nativeQuery=true)ListfindByClientIdList(ListclientIdList,DatestartDate,DateendDate)throwsDataAc