我对JPA 2.0 orphanRemoval属性有点困惑.
当我使用JPA提供程序的数据库生成工具创建底层数据库DDL以获得ON DELETE CASCADE特定关系时,我想我可以看到它是必需的.
但是,如果数据库存在并且它已经存在ON DELETE CASCADE关系,那么这还不足以级联删除吗?什么是orphanRemoval除了做?
干杯
我有一个Web应用程序Maven项目,我想根据正在运行的配置文件自定义web.xml文件.我正在使用Maven-War-plugin,它允许我定义一个"资源"目录,可以过滤文件.但是,单独过滤对我来说还不够.
更详细地说,我希望包括(或排除)整个安全部分,具体取决于我正在运行的配置文件.这是部分:
....
....
<security-constraint>
<web-resource-collection>
<web-resource-name>protected</web-resource-name>
<url-pattern>/pages/*.xhtml</url-pattern>
<url-pattern>/pages/*.jsp</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>*</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>${web.modules.auth.type}</auth-method>
<realm-name>MyRealm</realm-name>
</login-config>
<security-constraint>
....
....
Run Code Online (Sandbox Code Playgroud)
如果不能轻松完成,有没有办法获得两个web.xml文件并根据配置文件选择合适的文件?
我想使用Criteria API在两个表之间执行LEFT OUTER JOIN.我在Hibernate文档中找到的就是这个方法:
Criteria criteria = this.crudService
.initializeCriteria(Applicant.class)
.setFetchMode("products", FetchMode.JOIN)
.createAlias("products", "product");
Run Code Online (Sandbox Code Playgroud)
但是,这会执行内部联接或右外部联接,因为它返回的结果数量.
我也希望我的加入是懒惰的.我怎样才能做到这一点?
干杯!
更新:似乎使用别名会自动连接INNER JOIN."背景故事"中还有一些我还没有掌握的东西.所以,今天没有别名.这给我留下了对两个表应用限制的问题,因为它们都有一个列(或属性,如果这更合适)' name '.
我下面的官方微软的说明与LinkedIn注册(也有在LinkedIn说明这里),这也链接这里的授权码流。按照指示,我设置了一个linkedin 应用程序并使用客户端ID 和密码启动oAuth 2 流,请求r_liteprofile和r_emailaddress范围。
我没有获取登录表单,而是使用以下参数重定向到我的回调 URL:
error: unauthorized_scope_error
error_description: Scope "r_liteprofile" is not authorized for your application
state: cfa970987c9a3c2178dddeda0d81dab3e00dce4c683098d6
这是默认范围的列表(根据文档,如果您自己不指定范围列表,则授予这些范围),并且r_liteprofile不在那里。
文档是否已过时,还是我忽略了某些内容?
我想获得动态生成的HQL查询结果的计数,而不是实际得到结果列表.假设我的查询是这样的:
select Company company LEFT OUTER JOIN FETCH products product
Run Code Online (Sandbox Code Playgroud)
我在Hibernate文档中读到:
您可以计算查询结果的数量而不返回它们:
( (Integer) session.createQuery("select count(*) from ....").iterate().next() ).intValue()
Run Code Online (Sandbox Code Playgroud)
我怀疑我应该用我的查询替换....但是这不起作用,因为HQL不支持FROM中的子选择.
那么,我应该如何计算动态生成的HQL查询的结果?我认为通过执行它并获取结果列表的.size()可能是不必要的开销.
干杯!
**更新:**
我用这个正则表达式来转换我的查询:
Number num = (Number) em.createQuery(dynamicQuery.replaceAll("select \\w+ from ", "select count(*) from ")).getSingleResult();
Run Code Online (Sandbox Code Playgroud)
我得到了这个:
大段引用
EJB异常:; 嵌套异常是:java.lang.IllegalArgumentException:org.hibernate.QueryException:查询指定的连接提取,但是提取的关联的所有者在选择列表中不存在[FromElement {显式,不是集合连接,获取连接,提取非-lazy properties,classAlias = product,role = org.myCompany.applicant.entity.Applicant.products,tableName = PRS_DEV.PRODUCT,tableAlias = products1_,origin = PRS_DEV.APPLICANT applicant0_,colums = {applicant0_.APPLICANT_ID,className = org. myCompany.product.entity.Product}}] [ 从org.myCompany.applicant.entity中选择count().申请人LEFT OUTER JOIN FETCH applicant.products product ]; 嵌套异常是:java.lang.IllegalArgumentException:org.hibernate.QueryException:查询指定的连接提取,但是提取的关联的所有者在选择列表中不存在[FromElement {显式,不是集合连接,获取连接,提取非-lazy properties,classAlias = product,role = org.myCompany.applicant.entity.Applicant.products,tableName = PRS_DEV.PRODUCT,tableAlias = …
我已经读过LinkedHashMap比HashMap具有更快的迭代速度,因为它的元素彼此双重链接.此外,因此,插入或删除元素时LinkedHashMap较慢.大概是因为这些链接也需要更新.
虽然我可以看到LinkedList与ArrayList的类比,因为LinkedList的元素也是双向链接的,我读到它迭代的速度比ArrayList 慢,并且插入和删除时间更快.
为什么是这样?也许我在某个地方犯了错误?
干杯!
我需要Java中的商业友好(Apache许可证,LGPL,Mozilla公共许可证等)R-tree实现,以便将地理名称 Web Service 替换为时区,如问题"在不使用Web的情况下从纬度/经度确定时区 "中所建议的那样像Geonames.org这样的服务 ".我已经发现 了一些 身边,但我想知道,如果有人评估或在实践中使用它们.
我需要将SQL查询应用于CSV文件(逗号分隔的文本文件).我的SQL是从其他工具预定义的,不符合更改条件.它可能包含FROM部分中的嵌入式选择和表别名.
对于我的任务,我发现了两个提供JDBC驱动程序的开源(这是项目需求)库:
这些是我遇到的问题:
从我考虑/试过的4件事中,只有3件和4件对我来说是可行的.有关这些或任何其他方式我可以查询我的CSV文件的任何建议吗?
干杯
我有一个有一套书的人.在特定情况下,具有有序或有序集合是没有意义的.
现在说我有一个搜索页面,其中有一个表格显示了Person和Book的连接.我希望能够通过Person和Book中的字段对结果进行排序,然后从Hibernate获取List,并迭代它.
因为集合是一个集合,所以书籍的排序已经消失(Hibernate的PersistentSet包装了一个HashSet of Books,这是没有订购的).
因此,通过这种方法,我无法通过Book字段排序结果.
如果我将集合从Set更改为List,则我的模型在语义上是不正确的.保持模型中的顺序没有意义.
有没有办法保持书籍的顺序?也许PersistentSet有一种方法可以包装一个LinkedHashSet(有序),其中的顺序是由我的搜索条件定义的?
干杯!