我在修补我的源代码树时遇到了问题,这不是通常的-p
剥离问题.patch
能够找到要修补的文件.
具体来说,我的问题是如何读取/解释.rej
文件patch
创建时几个帅哥失败.patch
/ diff
我见过的大多数讨论都不包括这个.
我刚刚阅读了有关鸭子打字的维基百科文章,我觉得我错过了关于Java习惯的界面概念的一个重要观点:
"When I see a bird that walks like a duck and swims like a duck and quacks like a duck, I call that bird a duck."
class Duck:
def quack(self):
print("Quaaaaaack!")
def feathers(self):
print("The duck has white and gray feathers.")
def swim(self):
print("Swim seamlessly in the water")
class Person:
def quack(self):
print("The person imitates a duck.")
def feathers(self):
print("The person takes a feather from the ground and shows it.")
def name(self):
print("John Smith")
def in_the_forest(duck):
duck.quack()
duck.feathers() …
Run Code Online (Sandbox Code Playgroud) 我想将JPA2 Criteria API与元模型对象一起使用,这看起来很简单:
...
Root<JPAAlbum> albm = cq.from(JPAAlbum.class);
... albm.get(JPAAlbum_.theme) ... ;
Run Code Online (Sandbox Code Playgroud)
但是这个Root.get总是抛出一个NullPointerException
.JPAAlbum_.theme
是由Hibernate自动生成的,看起来像
public static volatile SingularAttribute<JPAAlbum, JPATheme> theme;
Run Code Online (Sandbox Code Playgroud)
但它显然从未填充过.
我错过了框架初始化的一个步骤吗?
编辑:这是我在崩溃时如何使用JPA和元模型的片段:
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<JPAAlbum> cq = cb.createQuery(JPAAlbum.class) ;
Root<JPAAlbum> albm = cq.from(JPAAlbum.class);
cq.where(cb.equal(albm.get(JPAAlbum_.theme).get(JPATheme_.id),
session.getTheme().getId())) ;
Run Code Online (Sandbox Code Playgroud)
(JPAAlbum_
是一个类,所以我就import
在之前)和相关的堆栈跟踪:
Caused by: java.lang.NullPointerException
at org.hibernate.ejb.criteria.path.AbstractPathImpl.get(AbstractPathImpl.java:138)
at net.wazari.dao.jpa.WebAlbumsDAOBean.getRestrictionToAlbumsAllowed(WebAlbumsDAOBean.java:55)
Run Code Online (Sandbox Code Playgroud)
编辑2:
在JBoss EntityManager指南中,我可以看到
当构建Hibernate EntityManagerFactory时,它将查找每个托管类型的规范元模型类,如果它找到任何它将向它们注入适当的元模型信息,如[JPA 2规范,第6.2节中所述] .2,页码200]
我也可以验证
for (ManagedType o : em.getMetamodel().getManagedTypes()) {
log.warn("___") ;
for (Object p : o.getAttributes()) {
log.warn(((Attribute)p).getName()) ;
} …
Run Code Online (Sandbox Code Playgroud) 我有很多数据对象,我希望能够生成一个String
代表每个对象的代码,而不需要为每个对象实现一个toString
方法.
我正在考虑获取字段及其值的反射.
还有其他想法吗?
谢谢.
在Sun Online资源中,他们提供了关于Criteria/Metamodel API使用的儿子示例,但据我了解Java,似乎无法工作:
CriteriaQuery<Pet> cq = cb.createQuery(Pet.class);
Metamodel m = em.getMetamodel();
EntityType<Pet> Pet_ = m.entity(Pet.class);
EntityType<Owner> Owner_ = m.entity(Owner.class);
Root<Pet> pet = cq.from(Pet.class);
Join<Owner, Address> address = cq.join(**Pet_.owners**).join(**Owner_.addresses**);
Run Code Online (Sandbox Code Playgroud)
Pet_
是一个类的实例, EntityType
它没有定义任何名为owners
或的属性addresses
.
他们确实定义了名为Pet_
和Owner_
元模型的类,但是在这里输入它们会产生与变量名称的冲突......我是对的吗?
__
(这个问题也与此相关的一个)
我正在将我的XSLT样式表转换为文档,我想在每个代码块的注释节点中获得丰富的经验,因此我想将以下注释和输出转换为xhtml:
串:
# This is a title with __bold__ text and *italic* # This is just a normal line - list point with some __bold__ - list point with a "link"[http://www.stackoverflow.com]
通缉输出:
<h1> This is a title with <strong>bold</strong> and <span>italic</span> </h1>
<p>This is a normal line</p>
<ul>
<li>list point with some <strong>bold</strong></li>
<li>list point with a <a href="http://www.stackoverflow.com">link</a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)
我试过一个递归函数,它从规则集递归地使用xsl:analyze-string,但是找不到一个非常好用的解决方案.
任何人最近都做过这个,或者是否有一些框架可以执行此操作?
提前谢谢!:)
编辑:添加了一个脏例子:
<!-- Output comments -->
<xsl:template match="comment()" mode="COMMENT">
<xsl:copy-of select="ips:groupReplace(normalize-space(.),
'
(.*)(\n|\r)(.*),
(.*)\*(.*)\*(.*),
(.*)\*\*(.*)\*\*(.*),
(.*)__(.*)__(.*),
(.*)#(.*)#(.*),
(.*)-(.*) …
Run Code Online (Sandbox Code Playgroud) 我知道这个问题之前提出过,但主要是针对gdb
在本地机器上运行的程序.
我已经取得了一些成功,eclipse-cdt
但它似乎只是偶尔起作用.据说Insight
以前用于调试(这个嵌入式x86
主板),但似乎已经死了.
我只需要C调试而不是C++.如果可能的话,我宁愿连接gdbserver
(因为这是建议,我一直通过命令行连接到它)但是如果你认为放置gdb
或ssh
放在设备上并通过它们使用它更好,请同时提及这些解决方案.
PS gdbserver
设备上的版本是7.1,如果解决方案可以与兼容版本一起工作,gdb
但我可能能够安装不同的gdbserver
版本,这将是很好的.
dlopen
位于libdl.a
但当我链接我的应用程序时libdl.a
,gcc链接器抛出此错误:unknow reference to __dlopen called in dlopen
我应该导入另一个.a
?
是否可以在 Java EE 6 中以编程方式对用户进行身份验证?
让我解释一下更多细节:
我有一个带有 Servlet 和 hibernate 的现有 Java SE 项目;我手动管理所有身份验证和访问控制:
class Authenticator {
int Id
string username
}
Authenticator login(string username, string password) ;
void doListData(Authenticator auth) {
if (isLoggedIn(auth)) listData();
else doListError
}
void doUpdateData (Authenticator auth) {
if (isLoggedAsAdmin(auth)) updateData() ;
else doListError();
}
void doListError () {
listError() ;
}
Run Code Online (Sandbox Code Playgroud)
我在这个项目中集成了 J2ee/jpa/servlet 3/... (Glassfish 3)。
我见过这样的注释:
@RolesAllowed ("viewer")
void doListdata (...) {
istData() ;
}
@RolesAllowed("admin")
void doUpdateData (...) {
updateData() …
Run Code Online (Sandbox Code Playgroud) 我想在我的Servlet/EJB/JPA-Hibernate项目中实现分页,但我无法弄清楚查询中只有一个页面如何知道我必须显示的页数
我用
setFirstResult(int first) ;
setMaxResults(int max) ;
Run Code Online (Sandbox Code Playgroud)
这工作正常,但我怎么知道我总共会有多少页呢?
(Hibernate是我的JPA提供者,但如果可能,我更愿意只使用JPA)
更新:COUNT()似乎是更好/最简单的解决方案; 但与之SELECT COUNT(*) FROM ...
相比,
成本可能是executeQuery("SELECT * FROM ...).getListResult().size()
多少?