我试图在玻璃鱼服务器上使用hibernate和JPA 2.0创建一个新的Java EE项目.你能为我们提供一些资源来配置上述内容,以便它们能够无缝地工作吗?我尝试使用netbeans并使用hibernate提供程序生成持久性单元,但我最终收到此错误:
javax.persistence.PersistenceException: [PersistenceUnit: DBAppPU] Unable to build EntityManagerFactory
Run Code Online (Sandbox Code Playgroud) 我正在发送带有javamail的电子邮件没有问题(我使用EJB 3.0),问题是当我尝试通过使用多部分方法将一些图像添加到html时.出于某种原因,我得到一个FileNotFoundException.我不知道如何获取位于WEB-INF/resources/images的.png图像的路径.
这是我做的:
Message message = new MimeMessage(mailSession);
// From: is our service
message.setFrom(new InternetAddress(from));
// To: destination given
message.setRecipients(Message.RecipientType.TO,
InternetAddress.parse(to));
message.setSubject("Uspijesna registracija");
// How to found at http://www.rgagnon.com/javadetails/java-0321.html
message.setContent(generateActivationLinkTemplate(), "text/html");
Date timeStamp = new Date();
message.setSentDate(timeStamp);
// Prepare a multipart HTML
Multipart multipart = new MimeMultipart("related");
// Prepare the HTML
BodyPart htmlPart = new MimeBodyPart();
htmlPart.setContent(generateActivationLinkTemplate(), "text/html");
multipart.addBodyPart(htmlPart);
// PREPARE THE IMAGE
BodyPart imgPart = new MimeBodyPart();
DataSource ds = new FileDataSource("logomailtemplate.png");
imgPart.setDataHandler(new DataHandler(ds));
imgPart.setHeader("Content-ID", "the-img-1");
multipart.addBodyPart(imgPart);
// Set …Run Code Online (Sandbox Code Playgroud) 我有一个@ConversationScoped bean,带有一个start方法,如下所示:
@PostConstruct
public void start() {
if (conversation.isTransient()) {
conversation.begin();
log.debug("conversation.getId(): " + conversation.getId());
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是,每次刷新页面时都会启动一个新会话,每次我对bean中的方法进行AJAX调用时,也会启动一个新的会话(这是我的主要问题).
我真正想要发生的是让sam对话流连,直到我手动调用conversation.end().我在这里错过了什么?
我试图从Java SE(简单类)调用一个简单的无状态会话bean.
这是我的豆子
import javax.ejb.Stateless;
/**
*
* @author MMRUser
*/
@Stateless
public class CapitalBean implements CapitalBeanRemote {
public String greetingsEjb(String name) {
return "Hello " + name;
}
}
Run Code Online (Sandbox Code Playgroud)
远程接口
import javax.ejb.Remote;
/**
*
* @author MMRUser
*/
@Remote
public interface CapitalBeanRemote {
public String greetingsEjb(String name);
}
Run Code Online (Sandbox Code Playgroud)
从我的客户端,我使用独立的java类来使用JNDI调用会话bean,如下所示
import ejb.CapitalBeanRemote;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
/**
*
* @author MMRUser
*/
public class CallEjbClass {
public static void main(String[] args) {
try {
Context context = new …Run Code Online (Sandbox Code Playgroud) 我想使用SEQUENCE策略自动生成id,但我正在打破我的头脑才能使它工作.我根本不知道为什么我不能让它发生.
这就是我做的.首先,我有一个实体:
@Entity
@SequenceGenerator(name="VlasnikSeq", sequenceName="VLA_SEQ")
public class Vlasnik implements Serializable {
@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="VlasnikSeq")
private Long id;
//...
Run Code Online (Sandbox Code Playgroud)
在persistence.xml中我有它映射:
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
<persistence-unit name="sampleAplication">
<class>entities.Vlasnik</class>
<class>entities.Ljubimac</class>
</persistence-unit>
</persistence>
Run Code Online (Sandbox Code Playgroud)
当我使用eclipses功能为实体生成表时,我得到这个:

如您所见,表已创建,但没有SEQUENCE表.我还在控制台中注意到以下消息,而JPA正在创建表:
[EL警告]:异常[EclipseLink-4002](Eclipse Persistence Services - 2.3.0.v20110604-r9504):org.eclipse.persistence.exceptions.DatabaseException内部异常:java.sql.SQLSyntaxErrorException:SEQUENCE'VLA_SEQ'不存在.
我认为下一步是尝试运行应用程序,看看我是否可以创建一些行.但是,当我试图坚持某些东西时,我得到一个例外,说:
org.apache.derby.client.am.SqlException:SEQUENCE'VLA_SEQ'没有
所以我来,由于某种原因,我需要一个表中的结论,让我去给数据库管理的角度来看,我尝试执行以下查询:
CREATE SEQUENCE VLA_SEQ;
Run Code Online (Sandbox Code Playgroud)
但我收到以下消息:
序列'VLA_SEQ'已经存在.
我完全糊涂了.我不知道该怎么办.我只想在DB中创建新行时自动生成实体的ID.
这是我第一次使用glassfish 3.1,在版本3.0中我不记得,有这个问题,我甚至可以使用@GenneratedValue.我很感激一些帮助.
我使用JaveEE 6 Annotation为"/ folder/*"创建了一个过滤器
@WebFilter("/folder/*")
Run Code Online (Sandbox Code Playgroud)
但是,当我去"/test.html"有一个电话
request.getRequestDispatcher("/folder/test.jsp").forward(request, response);
Run Code Online (Sandbox Code Playgroud)
在doGet中,页面未被过滤.在浏览器中手动转到"/folder/test.jsp"时,过滤器工作正常.如何在使用调度程序时使其工作?
我正在使用Java EE开发一个数据库驱动的Web应用程序,我想知道使用EJbs的好处.
如果我理解正确,最好将EJB用于各种业务逻辑或数据库事务.
我使用Hibernate作为我的JPA,这是我的问题:
使用注入的EJB作为DAO而不是常规Java类作为从我的Managed Bean调用的DAO有什么好处?有什么区别?
我是Java EE的新手,所以这可能是一个初学者的问题.
通过引入Servlet 3.0,我们可以使用注释将servlet映射到URL模式,并在web.xml中省略映射.
我想知道是否有一些intstructions或特殊标签允许将jsp映射到页面代码中的URL而不在web.xml中声明servlet
我有一个标记的类@Startup,@Singleton并且构造函数被调用两次.
为什么被叫两次?
这是班级:
import java.util.concurrent.atomic.AtomicInteger;
import javax.ejb.Singleton;
import javax.ejb.Startup;
@Startup
@Singleton
public class CacheStartupListener {
static AtomicInteger count= new AtomicInteger(0);
public CacheStartupListener() {
System.err.println("Singleton invoked " + count.incrementAndGet() + " " + getClass().getClassLoader().toString());
}
}
Run Code Online (Sandbox Code Playgroud)
我可以从输出中看到构造函数都是从同一个类加载器中调用的.
构造函数中的堆栈跟踪都会通过wlfullclient-12.1.1jar,但堆栈跟踪在其他方面是不同的.
这是第一个实例化的堆栈跟踪:
Daemon Thread [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] (Suspended (breakpoint at line 30 in CacheStartupListener)) (out of synch)
CacheStartupListener_m3hhum_NoIntfViewImpl(CacheStartupListener).<init>() line: 30 (out of synch)
CacheStartupListener_m3hhum_NoIntfViewImpl.<init>(SingletonLocalObject) line: …Run Code Online (Sandbox Code Playgroud) java-ee-6 ×10
java ×6
java-ee ×4
ejb ×2
ejb-3.1 ×2
glassfish ×2
cdi ×1
dispatcher ×1
ejb-3.0 ×1
glassfish-3 ×1
hibernate ×1
jakarta-mail ×1
jboss-weld ×1
jndi ×1
jpa ×1
jpa-2.0 ×1
jsf ×1
jsf-2 ×1
jsp ×1
orm ×1
servlet-3.0 ×1
url-mapping ×1