草庐IT

实体抽取

全部标签

java - 如何更改设计以使实体不使用注入(inject)?

我已经阅读并意识到自己带有注入(inject)的实体(数据对象-对于JPA或序列化)是一个坏主意。这是我当前的设计(所有适当的字段都有getter和setter,以及serialVersionUID,为了简洁起见,我放弃了)。这是父对象,它是实体组合图的头部。这是我序列化的对象。publicclassStateimplementsSerializable{Listcars=newArrayList();Listplanes=newArrayList();//otherobjectssimilartoAbstractPlaneasshownbelow}AbstractPlane它的子类只

java - spring hibernate.createSQLQuery 作为自定义实体返回

我正在做Queryquery=hibernate.createSQLQuery("selectabc,deffromtable");是否可以将结果自动“解析”到“POJO”列表?这样我就可以做到:Listabc=query.list();//CustomPOJOispojonotentity,no@Entitytag 最佳答案 尝试hibernate.createSQLQuery("selectabc,deffromtable").setResultTransformer(Transformers.aliasToBean(Custo

java - 为 InheritanceType.SINGLE_TABLE 的未知 DiscriminatorValue 映射 Hibernate 实体

我有一个经典的Hibernate@Inheritance(strategy=InheritanceType.SINGLE_TABLE)和@DiscriminatorFormula。它工作正常。但是,数据库中的@DiscriminatorValue有大约500个不同的值,我需要将其中大约30个映射到Java类(子类),其余映射到父Java类。问题可以建模为Animal类的示例继承。@Entity@Inheritance(strategy=InheritanceType.SINGLE_TABLE)@DiscriminatorFormula("...")publicclassAnimalim

java - createNativeQuery 映射到 POJO(非实体)

乍一看我有一个简单的问题:entityManager().createNativeQuery("selectcount(*)astotal,selectsum(field)astotal_sum...blabla")我想将选择结果写入POJO,如下所示:publicclassAggregateStatsDto{privateinttotal;privatelongtotalSum;//getters,setters,cosntructors}实现此目标的最佳方法是什么?我可以使用JPA2.1并尝试将@SqlResultSetMapping与@ConstructorResult结合使用:

java - JPA 仅使用其 ID 保存 "new"实体并引用现有实体?

假设您有一辆带有一系列轮胎的汽车。@EntitypublicclassCar{privateLongid;@OneToMany(mappedBy="car")privateSettires=newHashSet();}@EntitypublicclassTire{privateLongid;...}现在,如果您想添加一辆新汽车并添加现有轮胎,您可以获取整个现有轮胎实体以填充汽车集。是否可以简单地拥有一些TireID并保存Car而无需先将整个Tire实体提取到内存中?如果它只是一个单一的轮胎实例而不是一个轮胎组,有没有办法只用一个轮胎ID来保存它?使用JPA和CriteriaAPI,或者

java - 是否有模型/实体类的模式

当您从多个数据源中提取模型对象时,最好采用什么方法?例如,我有一个应用程序使用hibernate将一些数据存储在mySQL数据库中。如果我想在EC2或GoogleAppEngine中存储一些其他对象怎么办?我知道DAO抽象了使用特定数据源的实现,但是实体本身呢?起初我认为用jpa注释来注释我的实体是一个很好的解决方案,但现在看来我真的把我的实体绑定(bind)到一个特定的实现。以AppEngine为例,其中一些注释毫无意义。似乎我需要一个纯POJO类来表示我的实体,完全没有持久性逻辑。例如,如果我想为一只狗建模(是的,蹩脚的选择,但无论如何)。有一个抽象的Dog类,然后定义子类以使用特

java - 如何对 Ebean 中的相关实体进行排序?

我正在使用PlayFramework和EbeanORM。比如说,我有2个相关的实体类(Card.java和FinalMark.java)卡片.java@EntitypublicclassCardextendsModel{privatestaticfinallongserialVersionUID=1L;@Id...@OneToMany(mappedBy="card")publicListfinalMarks;...publicstaticFinderfind=newFinder(Integer.class,Card.class);}FinalMark.java@Entitypublic

java - JPA Criteria 使用单表继承查询实体层次结构

假设我有以下实体:@Entity@Inheritance(strategy=SINGLE_TABLE)@DiscriminatorColumn(name="type")publicabstractclassBaseEntity{privateDatesomeDate;privateDateotherDate;privatebooleanflag;}@Entity@DiscriminatorValue("entity1")publicclassEntity1extendsBaseEntity{privateStringsomeProperty;}@Entity@Discriminator

java - 更改保留其 ID 的实体的类型

我正在使用hibernate作为持久层。有2个实体位于同一个表中,使用单表继承策略扩展一个父类(superclass)。@Entity@Inheritance(strategy=InheritanceType.SINGLE_TABLE)publicabstractclassA{@Id@GeneratedValueprotectedLongid;//somecommonfieldsforBandC}@EntitypublicclassBextendsA{//B-specificfields}@EntitypublicclassCextendsA{//C-specificfields}我有

java - Hibernate 实体 Autowiring

请问我怎样才能很好地为Hibernate实体启用SpringAutowiring?假设我有一个实体并希望在那里有邮件发送者:@EntitypublicclassEmailActivityextendsActivity{@Autowired@TransientprivateJavaMailSenderjavaMailSender;...}有没有比做更好的方法AutowireCapableBeanFactory.autowireBean(getCurrentSession().get(Activity.class,id));在我的DAO中?谢谢! 最佳答案