小编Ade*_*emC的帖子

如何使用JPA(Java EE)将XML数据结构映射到数据库

我正在一个项目中,我从服务提供商那里获得XML数据,如发票.这些发票有许多具有相同结构的职位,如地址,服务类型和成本金额.我需要将这些数据存储在不同行的单独数据集中.我从我的提供者那里得到了一个XML模式文件.

我可以将XML文件解组为java Objects.有没有办法使用JPA将此数据插入数据库.问题是,通过JAXB生成的类没有像Entity或列这样的注释.我可以对这些类进行注释,但在使用Netbeans进行"清理和构建"后,将再次生成类,而无需注释.

任何人都知道使用JAXB从XML模式构建类的方法,读取传入的XML文件,解组它吗?并将数据写入数据库.

java xml netbeans jaxb unmarshalling

5
推荐指数
1
解决办法
806
查看次数

为java ejb Webservice启用https

我正在使用ejb 3和glassfish 3.1.1开发一个web服务.我正在使用Netbeans 7.0,并且想知道如何在端口8181上为此Web服务启用https.

我不需要任何身份验证方法,只需通过https保护通信!

谢谢

阿德姆

https netbeans web-services ejb

3
推荐指数
1
解决办法
3789
查看次数

JPA Eclipselink获取错误的序列号

我正在使用映射到Oracle DB-Tables的一些实体.对于ID-Generation,我使用的注释序列生成器如下:

@Id
@SequenceGenerator(name = "SEQ_RULES", sequenceName = "SEQUENZ_RULES")
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_RULES")
@Column(name = "SERIALNO")
protected Long serialno;
Run Code Online (Sandbox Code Playgroud)

在程序执行期间,我从我的实体创建一个新实例,并希望保留这个生成的实例.重新启动数据库后,我通过JPA-EclipseLink获得了错误的序列号,但没有直接通过数据库上的控制台.

我在persistence.xml中启用了以下属性,以获取生成的语句中使用的绑定参数.

<properties>
  <property name="eclipselink.logging.level" value="FINE"/>
  <property name="eclipselink.logging.parameters" value="true"/>
</properties>
Run Code Online (Sandbox Code Playgroud)

例如:如果我生成一个我的实体的新实例并希望保留这个实例,那么我将获得2717 for serialNo并且如果我执行

SELECT SEQUENZ_RULES.NEXTVAL FROM DUAL 
Run Code Online (Sandbox Code Playgroud)

我得到2767作为nextval.问题是JPA生成的serialNo必须是唯一的,现在我仍然有一些带有这个serialNo的数据集.我得到一个例外:

java.sql.SQLIntegrityConstraintViolationException: ORA-00001: unique constraint (JASON.SYS_C0084866) violated
Run Code Online (Sandbox Code Playgroud)

非是否有任何缓存通过eclipse影响序列生成或可能是什么错误?

使用的组件:
GlassFish 3.1.1
EclipseLink 2.3.0.v20110604-r9504
数据库:Oracle版本:Oracle Database 11g 11.1.0.7.0版 - 64位
驱动程序:Oracle JDBC驱动程序版本:11.2.0.1.0

提前致谢

阿德姆

java jpa sequence eclipselink

3
推荐指数
1
解决办法
6838
查看次数

Vertx Eventbus无法在Java中运行

OS Linux JDK 1.7.0_67 Vert.x 2.1.5

刚刚开始连接github上的一些vertx示例.

由于手册想要尝试一个简单的Sender < - > Receiver示例,通过EventBus.很多个小时后,没有ping,也没有一个hello world.

任何人都有一个想法,我在这个简单的代码上缺少什么:

Sender.java

import org.vertx.java.platform.Verticle;

public class Sender extends Verticle {

  public void start(){
    vertx.eventBus().send("ping-address", "Hello");
  }
}
Run Code Online (Sandbox Code Playgroud)

Receiver.java

import org.vertx.java.core.Handler;
import org.vertx.java.core.eventbus.EventBus;
import org.vertx.java.core.eventbus.Message;
import org.vertx.java.platform.Verticle;

public class Receiver extends Verticle {

  public void start() {
    EventBus eb = vertx.eventBus();
    eb.registerHandler("ping-address", new Handler<Message<String>>(){
        @Override
        public void handle(Message<String> message) {
            container.logger().info("Message: "+message.body());
        }
    });

    container.logger().info("PingVerticle started");

  }
}
Run Code Online (Sandbox Code Playgroud)

使用以下CLI命令在同一台计算机上的单独JVM实例中运行:

vertx run Receiver.java
> Succeeded in deploying verticle
Run Code Online (Sandbox Code Playgroud)

另一个控制台 …

java vert.x

2
推荐指数
1
解决办法
4085
查看次数

标签 统计

java ×3

netbeans ×2

eclipselink ×1

ejb ×1

https ×1

jaxb ×1

jpa ×1

sequence ×1

unmarshalling ×1

vert.x ×1

web-services ×1

xml ×1