草庐IT

java - SLF4J/JPA/JAX-RS 如何找到它们的实现?

我正在学习Java,我发现有许多标准化的功能:日志记录(使用SLF4J)持久性(使用JPA)REST(使用JAX-RS)SOAP(使用JAX-WS)等等让我们以Sl4j为例:要将其与log4j一起正确使用,我们必须导入sl4japi、sl4j/log4j桥和log4j实现。问题:在我的类里面,我只与Slf4jAPI进行通信。我的应用程序如何知道log4j实现?有人可以解释幕后发生的事情吗?问候 最佳答案 OP提出了一个关于在某些不同情况下如何注入(inject)实现的一般性问题。记录如许多答案所述,SLF4J提供接口(interfa

java - Persistence.xml 和 OSGi (Equinox)

我目前正在使用OSGi进行测试。我正在通过Eclipse运行它。我想让我的DAO层成为OSGi解决方案的一部分,但我的第一个绊脚石是这个错误:Jun29,20096:12:37PMorg.hibernate.cfg.annotations.VersionINFO:HibernateAnnotations3.3.0.GAJun29,20096:12:37PMorg.hibernate.ejb.VersionINFO:HibernateEntityManager3.3.0.GAJun29,20096:12:37PMorg.hibernate.ejb.Ejb3Configurationcon

java - 为什么我们需要在 <persistence-unit> 元素中指定类?

我的persistence.xml有2个持久性单元。他们每个人都有几个元素。我认为我们必须指定与某个持久性单元相关的所有类。但是我不小心忘记了为新实体指定类元素,但即使没有它,程序也能正常工作。然后我删除了所有类元素,一切正常。那么,我们为什么需要它?示例代码:chartdemo.model.domain.Category 最佳答案 如果您没有在persistence.xml文件中指定类,您的持久性管理器将管理persistence.xml文件所在位置(jar文件、类目录)中的所有实体类。列出类使您可以灵活地选择实体并将它们分组到持

java - JPA native 查询中的位置参数问题

我正在尝试:Stringsql="SELECTemailFROMusersWHERE(typelike'B')AND(usernamelike'?1')";Listresults=em.createNativeQuery(sql).setParameter(1,username).getResultList();但是我收到IllegalArgumentException,它告诉我参数超出范围。我做错了什么? 最佳答案 参数周围不应有引号。试试这个:Stringsql="SELECTemailFROMusersWHERE(typeli

java - 如何查询一个M :N relationship with JPA2?

我有一个包含M:N元素(标签)集合的对象(BlogPost)。如何使用JPA2(Hibernate)查询一个对象(BlogPost),其中至少一个对象的标签与一组标签(由用户定义)中的一个元素匹配。findBlogPostWithAtLeastOneMatchingTag(Collectiontags){????}我的主要问题是,我实际上需要比较两个标签集合:-BlogPost的标签集合。-我搜索的Collection我试过SelectpfromPostpwherep.tagsin(:tags)但它不起作用,因为我的帖子实体有不止一个标签。那么我可以做些什么呢?我的BlogPost实体

java - JPA 多对多连接表实体与复合键 "null id generated "

这是我的实体:publicclassAccountextendsAbstractEntity{@Id@SequenceGenerator(name="accountSequence",sequenceName="SQ_ACCOUNTS",allocationSize=1)@GeneratedValue(strategy=GenerationType.SEQUENCE,generator="accountSequence")@Column(name="ACC_ID",nullable=false)privateLongid;...}publicclassIntegrationextend

java - EclipseLink JPA 跟踪更改

我尝试记录我的JPA实体的任何更改。出于这个原因,每个实体都继承自一个抽象实体类,该类具有一个LogEntry对象列表。抽象实体类:@Entity@Inheritance(strategy=InheritanceType.JOINED)@EntityListeners(ChangeListener.class)publicabstractclassAbstractEntityimplementsSerializable{@Id@GeneratedValue(strategy=GenerationType.AUTO)privateLongid;@VersionprivateLongver

java - 交易不活跃 - hibernate - JPA

我有这个类专门用于通过hibernate的持久层将数据保存在数据库中。publicclassTLinkEquipementDAOImplimplementsTLinkEquipementDAO{privatestaticfinalLoglog=LogFactory.getLog(TLinkEquipementDAOImpl.class);@PersistenceContextprivateEntityManagerFactoryemf=PersistenceManager.getInstance().getEntityManagerFactory();privateEntityMana

java - 这个多对多关系的 "Owning Side"是怎么确定的呢?

我正在努力牢牢掌握拥有方的概念。无法从我在这里找到的任何问题中得到清晰的图片。基本上我正在阅读JavaEEJPA教程。它们具有以下数据库模式,其中PLAYER和TEAM具有多对多关系也说明了Aplayercanbeonmanyteams.Ateamcanhavemanyplayers.Thereisamany-to-manyrelationshipbetweenPLAYERandTEAM.到目前为止非常简单。但是当is进入编码部分时,他们将TEAM设为关系的拥有方。publicclassTeam{privateCollectionplayers;@ManyToMany@JoinTabl

java - 如何使用 Spring Data JPA 查询 map 值?

所以我的数据库模型是这样的:我有Stores和每个Store有一个本地化名称。所以我选择将本地化名称表示为Map像这样:publicclassStore{privateMapname;}如您所见,它是的mapLocalizedValue在哪里是这样一个类:@EmbeddablepublicclassLocalizedValue{@Column(name="value")privateStringvalue;}一切都很好。但是我遇到了一个问题,我想查询我的SpringDataJPA存储库并找到所有具有给定英文名称的商店。所以我的存储库方法如下所示:StorefindByName(Map.