实践背景:在wildfly中使用hibernate-ogm框架操作mongodb数据库

条件:  

  • hibernate-ogm-wildfly10-module.zip:https://pan.baidu.com/s/1kVE1Rvh 密码:d2hl
  • 安装mongodb数据库,网上自搜索教程。

 (转载请注明来源:cnblogs coder-fang)

步骤:

  1.   将hibernate-ogm-wildfly10-module.zip解压到 WILDFLY10_HOME/modules中,产生WILDFLY10_HOME/modules/org文件夹。
  2.   添加一个ExampleDS数据源,可随意创建,修改standalone.xml,在datasources节点下创建,代码如下:
    <datasource jta="true" jndi-name="java:/ExampleDS" pool-name="ExampleDS" enabled="true" use-ccm="true">
                        <connection-url>null</connection-url>
                        <driver-class>org.h2.Driver</driver-class>
                        <driver>h2</driver>
                        <security>
                            <user-name>sa</user-name>
                            <password>sa</password>
                        </security>
                    </datasource>

     

  3.    修改默认绑定的数据源为ExampleDS,即在standalone.xml中的<subsystem xmlns="urn:jboss:domain:ee:4.0">节点下修改代码:
    <default-bindings context-service="java:jboss/ee/concurrency/context/default" datasource="java:/ExampleDS" managed-executor-service="java:jboss/ee/concurrency/executor/default" managed-scheduled-executor-service="java:jboss/ee/concurrency/scheduler/default" managed-thread-factory="java:jboss/ee/concurrency/factory/default"/>

    注:此时即可启动服务,服务已支持hibernate-ogm模块.

  4. 创建实体类,代码如下:
    package com.sj.mrics.db.model;
    
    import java.io.Serializable;
    
    import java.util.Date;
    
    import javax.persistence.Entity;
    import javax.persistence.GeneratedValue;
    import javax.persistence.GenerationType;
    import javax.persistence.Id;
    import javax.persistence.Table;
    import javax.persistence.Temporal;
    import javax.persistence.TemporalType;
    
    
    import org.hibernate.annotations.Type;
    
    import com.fasterxml.jackson.databind.annotation.JsonSerialize;
    import com.sj.mrics.util.JsonDateSerializer;
    
    
    @Entity
    @Table(name = "weblog")
    public class WebLog implements Serializable{
        /**
         * weblog即为数据库中的collection名称
         */
        private static final long serialVersionUID = -914369413813954644L;
        @Id
        @GeneratedValue(strategy = GenerationType.IDENTITY)
        @Type(type = "objectid")
        private String id;
        private String msg;
        private String level;
        @JsonSerialize(using=JsonDateSerializer.class)
        private Date uptime;
        public String getId() {
            return id;
        }
        public void setId(String id) {
            this.id = id;
        }
        public String getMsg() {
            return msg;
        }
        public void setMsg(String msg) {
            this.msg = msg;
        }
        public String getLevel() {
            return level;
        }
        public void setLevel(String level) {
            this.level = level;
        }
        
        
        
        @Temporal(TemporalType.TIMESTAMP)
        public Date getUptime() {
            return uptime;
        }
        public void setUptime(Date uptime) {
            this.uptime = uptime;
        }
    }
    View Code

相关文章:

  • 2021-06-19
  • 2022-12-23
  • 2021-08-07
  • 2021-11-19
  • 2021-06-26
  • 2021-11-09
  • 2022-02-04
  • 2021-11-14
猜你喜欢
  • 2021-12-19
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案