草庐IT

accessing-data-jpa

全部标签

java - 为什么使用 Hibernate 和 Oracle 10g 方言通过 JPA 创建名为 hibernate_sequence 的序列?

我所有的实体都使用这种类型的@Id@Id@GeneratedValue(strategy=GenerationType.SEQUENCE,generator="MYENTITY_SEQ")@SequenceGenerator(name="MYENTITY_SEQ",sequenceName="MYENTITY_SEQ")@Column(name="MYENTITY",nullable=false)privateLongid;或@Id@Column(name="MYENTITY")我发现总是创建一个名为hibernate_sequence的Oracle序列。为什么会这样?我该如何避免这种

java - 无效的 hibernate 警告? '@Access(AccessType.PROPERTY) on a field has no effect'

我有以下实体类用户:publicclassUserimplementsSerializable{@Column(length=10,name="user_type")@Access(AccessType.PROPERTY)privateStringuserTypeS;@TransientprivateUserTypeuserType;...publicvoidsetUserType(UserTypeuserType){this.userType=userType;this.userTypeS=this.userType.getType();}protectedvoidsetUserTy

java - 在没有注释的情况下将 Hibernate 迁移到 JPA

我有一个大型的非JavaEE、基于JSF的Web应用程序项目。我们的系统是分层的(在源代码意义上):有一个数据模型包,DAO包建立在它之上。我们在DAO包中专门使用Hibernate的XML配置映射。我们真的不想用注解混淆数据模型,但也不是特别执着于Hibernate(除了映射相当复杂)。我强烈考虑转向JavaEE并将我们的DAO对象构建为EJB。但是由于我们不愿意丢弃Hibernate的XML,这引出了几个问题:是否可以在模型上没有JPA注释的情况下将Hibernate与JPA一起使用?如果不是,我的EJB是否有可能与Hibernate进行事务处理?我认为这称为JTA支持,但不确定。

java - JPA 2.0/hibernate : Why does LAZY fetching with "@OneToOne" work out of the box?

我的问题是关于JPA2.0与Hibernate、@OneToOne关系和延迟加载。首先我的设置:Spring3.0.5.RELEASESprnigDataJPA1.0.1.RELEASEhibernate3.5.2-Final数据库管理系统:PostgreSQL9.0我最近发现,@OneToOne关系无法以惰性方式(FetchType.LAZY)获取,至少在没有字节码检测、编译时编织等情况下是这样。许多网站都这样说,例如:http://community.jboss.org/wiki/SomeExplanationsOnLazyLoadingone-to-onehttp://justo

java - 打开 JPA Saving OneToMany,未设置外键

我有两个表:TaStock和TaStockPrice。表TaStockPrice中的字段tastockid是表TaStock的外键。@EntitypublicclassTaStock{@Id@GeneratedValue(strategy=GenerationType.IDENTITY)Integerid@OneToMany(mappedBy="taStock",fetch=FetchType.LAZY,cascade=CascadeType.ALL)privateListtastockpriceList;publicvoidaddTaStockPrice(TaStockPriceta

java - 如何将多个字段分配为实体的主键(使用 JPA)

这个问题在这里已经有了答案:JPAcompositeprimarykey[duplicate](2个答案)关闭9年前。可以通过在JPA中使用@Id批注为其类分配主键。我的问题是,如果一个人不想在他的表中有一个自动生成的键并使用字段(可能不止一个)作为主键怎么办。假设我们有一个包含SSN、NATIONALITY和NAME的人员表。SSN被定义为一个人在他的国家被识别的号码。因此,我们可能在两个不同的国家有两个号码相同的人。该表的主键可以是SSN+NATIONALITY。有什么方法可以使用JPA映射这两个字段并将其映射到对象吗?或者它创建自动生成的id并使用@Id注释的唯一方法CREATE

java - JPA - 从 OneToMany 关系中删除一个 child

在@OneToMany关系中,如果我想删除一个child,我是否也需要从parent的集合中明确删除该child,还是只删除该child就足够了?例如,Person和Phone。每个人都有很多电话号码。如果我想删除一个人的一个电话号码就足够了:EntityManager.remove(phone);或者我需要事先这样做:Person.getPhone().remove(phone);更不用说,CascadeType设置为MERGE。 最佳答案 您需要从phones集合中显式删除Phone,仅使用EntityManager删除它是不够

java - 使用 Spring Data JPA 自动转换参数

在我们的实体bean中,我们使用自定义ID格式,其中包括校验和以验证ID是否确实有效。ID看起来像ID827391738979。为了确保所有代码仅使用正确的ID,我们围绕ID字符串创建了一个代码包装器:classID{publicID(Stringid){//parseandverifyID}publicStringtoString(){returnid;}}所有代码都只使用这个ID对象。然而,在我们的实体中,我们将ID定义为String:classSomeEntity{@ColumnprivateStringitsID;}现在我们想使用Spring-Data-JPA通过它的id来查询

java - JPA 标准 : Convert int to String then select from substring of resulting String

我有一个String作为参数(实际上是一个valueOf(anInteger),并且想将它与数据库中int值的子字符串进行比较。这是我的代码:ClinicPatientsclp=null;//GetthecriteriabuilderinstancefromentitymanagerfinalCriteriaBuildercb=getEntityManager().getCriteriaBuilder();//CreatecriteriaqueryandpassthevalueobjectwhichneedstobepopulatedasresultCriteriaQuerycrite

java - Spring Data ElasticSearch TransportClient Java 配置

有人知道什么是JavaConfig等同于:我特别想使用nodeBuilder()来完成它。 最佳答案 查看ElasticSearch的SpringData文档:@Configuration@EnableElasticsearchRepositories(basePackages="org/springframework/data/elasticsearch/repositories")staticclassConfig{@Value("${esearch.port}")intport;@Value("${esearch.host}"