草庐IT

subject_id

全部标签

java - Hibernate:没有实体类的外键,只能通过id

我有一个分层实体,它把自己作为父对象引用。我只需要通过ids进行映射,而不是通过实体实例(原因太复杂无法解释)。所以我这样定义实体:classItem{@IdprivateStringid;@ManyToOne(targetEntity=Item.class)@JoinColumn(name="PARENT_ID",nullable=true)privateStringparentId;}这似乎工作正常。外键约束在数据库中正确创建。但是当我执行以下查询时:SELECTiFROMItemiWHEREi.parentId=:parentId我得到这个异常(有趣的部分以粗体显示):org.h

java - 如何在不传递 ID 的情况下识别在哪个 Java Applet 上下文中运行?

我所在的团队开发了一个相当大的SwingJavaApplet。我们的大部分代码都是遗留的,并且有大量的单例引用。我们将它们全部集中到一个“应用程序上下文”单例中。我们现在需要的是创建一些方法来分离共享上下文(在当前显示的所有小程序之间共享)和非共享上下文(特定于当前显示的每个小程序)。但是,我们在调用单例的每个位置都没有ID,我们也不希望将ID传播到所有位置。识别我们正在运行的小程序上下文的最简单方法是什么?(我试过搞乱类加载器、线程组、线程ID……到目前为止,我找不到任何能让我识别调用来源的东西)。 最佳答案 单例狗是邪恶的,你还

java - @IdClass 与非原始@Id

我正在尝试将复合主键添加到类中,但遇到了一些麻烦。这是类。classUser{privatelongid;...}classToken{privateUseruser;privateStringseries;...}我正在使用orm.xml来映射类,因为它们实际上是我不想依赖于JPA的更高级别API的一部分-它有许多实现。这里是:......最后,为了使一切正常,我创建了TokenPK类,它看起来像这样:publicclassTokenPKimplementsSerializable{privateStringseries;privateUseruser;publicTokenPK()

java - 如何使用 Spring Roo 和 JPA 提供我自己的 @id 字段

我正在尝试让SpringRoo使用我自己的@Id字段而不是生成一个字段。@Entity...@RooEntity@Table(name="usr")publicclassUser{@Id@GeneratedValue(strategy=GenerationType.AUTO)@Column(name="usr_id")privateIntegerid;...publicIntegergetId(){returnid;}publicvoidsetId(Integerid){this.id=id}...}Roo仍然在User_Roo_Entity.aj中创建以下内容:@Id@Generat

java - 如何为非 ID 字段使用序列生成器?

publicclassSequenceControlNumberextendsSequenceGenerator{privatestaticfinalLoggerlog=LoggerFactory.getLogger(SequenceGenerator.class);@OverridepublicSerializablegenerate(SessionImplementorsession,Objectobj){Connectionconnection=session.connection();try{PreparedStatementst=connection.prepareState

java - JAXB 使用 ID 引用而不是包含来序列化 XML

在RestFul-Webservice(Jersey)上下文中,我需要将对象图编码/序列化为XML和JSON。为简单起见,我尝试用2-3个类来解释问题:Person.java@XmlRootElement@XmlAccessorType(XmlAccessType.FIELD)publicclassPerson{privateStringname;//@XmlIDREF@XmlElement(name="house")@XmlElementWrapper(name="houses")privateCollectionhouses;publicPerson(){}publicPerson

java - Hibernate Natural ID 重复问题

一般来说,我是Hibernate和DB的新手,所以请原谅这个基本问题。我正在使用DISprotocol特别是DIS的Open-DIS实现。在DIS中,每个EntityStatePdu(包含模拟中实体的状态)都有一个EntityId对象,一个由3个整数组成的元组。我想将此对象用作自然ID,并同时维护一个标准代理ID。我的问题是我不知道如何确保数据库确定给定的EntityId已经存在并将该EntityId的主键用作EntityStatePdu中的外键。换句话说,假设我有两个EntityStatePdus,EntityID(1,2,3);即我们有来自同一实体的两个更新。我想要如下内容:表格:

java - intellij 如何计算对象实例的 4 位数字 ID?

这个问题在这里已经有了答案:DecipheringvariableinformationwhiledebuggingJava(1个回答)关闭3年前。使用Intellij的调试器时,范围内的变量使用4位标识符显示,在以下屏幕截图中以红色标记。这个标识符好像是根据对象的身份计算出来的。用于获取给定对象实例的4位数字的确切代码是什么?

java - 使用@Embedded 和@Id 的Hibernate 复合主键

我想知道hibernate是否支持使用字段和组件类型的复合主键。所以我有一个@Embeddable组件类型,我想将它用作主键以及另一列作为复合主键。所以我的表“DEPT_HISTORY”有复合主键(GROUP_DEPT、DEPTID、EFFDT)。我将GROUP_DEPT和DEPTID作为@Embeddable组件类型映射到Department类。@EmbeddablepublicclassDepartmentimplementsSerializable{privatestaticfinallongserialVersionUID=1L;privateStringdepartmentG

java - DAO 方法参数、对象引用与 id

问题对于dao/存储库方法、实体对象或实体ID的参数类型的最佳实践是什么?示例代码@EntityclassProduct{//...@ManyToOneSellerseller;}@EntityclassSeller{@Id@GeneratedValueLongid;}classProductDao{//...//UsingidspublicListgetProductsOf(longsellerId){returngetSession().createQuery("fromProductwhereseller.id=?").setLong(0,sellerId).list();}//