小编SST*_*SST的帖子

Rails:如何删除默认版本的 bundler?

我尝试更改默认捆绑版本,但它已更新为 2 个默认版本。如何修改为单一默认值?

$ gem list bundler

*** LOCAL GEMS ***

bundler (2.0.1, default: 1.16.6, default: 1.16.2)
Run Code Online (Sandbox Code Playgroud)

如果我执行 gem uninstall 不删除默认值,

$ gem uninstall bundler
Successfully uninstalled bundler-2.0.1


$ gem list bundle

*** LOCAL GEMS ***

bundler (default: 1.16.6, default: 1.16.2)
Run Code Online (Sandbox Code Playgroud)

如何将(如下所示)默认设置为单一版本?

bundler (2.0.1, default: 1.16.6)
Run Code Online (Sandbox Code Playgroud)

rubygems ruby-on-rails bundler

26
推荐指数
3
解决办法
2万
查看次数

如何使用选择查询过滤带有非重音字符的列

我有一个MySQL表(测试)与utf-8字符集编码.有三个条目,两个条目具有普通字符,另一个名称具有重音字符.

CREATE TABLE test (
  id Integer,
  name VARCHAR(50), 
  PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

INSERT INTO `test` (`id`, `name`) VALUES (1, 'aaaa');
INSERT INTO `test` (`id`, `name`) VALUES (2, 'AAAA');
INSERT INTO `test` (`id`, `name`) VALUES (3, 'áááá');
Run Code Online (Sandbox Code Playgroud)

如果我运行以下select查询,它将返回所有3个条目

实际结果:-

select * from test where name like '%aa%';

id  | name
----|----
1   | aaaa
2   | AAAA
3   | áááá
Run Code Online (Sandbox Code Playgroud)

而不是那样,它应该返回id = 3的最后一个条目.

我不想使用'BINARY'或'COLLATE utf8_bin',因为它只返回区分大小写的搜索.

我需要用绳子正常的搜索查询,例如: -

预期结果:-

select * from test where name …
Run Code Online (Sandbox Code Playgroud)

mysql search non-ascii-characters

16
推荐指数
1
解决办法
1741
查看次数

在Spring Hibernate java项目中使用"Envers"审计表

我们需要使用envers审核现有表.我们没有hibernate.xml而不是使用application-context.xml.我们通过"liquibase-changeset"创建模式,然后如何通过@Entity和@Audited等注释创建.

我该如何解决这个问题?

我添加了hibernate配置喜欢

<property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</prop>
                <prop key="hibernate.ejb.event.post-insert">org.hibernate.ejb.event.EJB3PostInsertEventListener,org.hibernate.envers.event.AuditEventListener</prop>
                <prop key="hibernate.ejb.event.post-update">org.hibernate.ejb.event.EJB3PostUpdateEventListener,org.hibernate.envers.event.AuditEventListener</prop>
                <prop key="hibernate.ejb.event.post-delete">org.hibernate.ejb.event.EJB3PostDeleteEventListener,org.hibernate.envers.event.AuditEventListener</prop>
                <prop key="hibernate.ejb.event.pre-collection-update">org.hibernate.envers.event.AuditEventListener</prop>
                <!-- <prop key="hibernate.ejb.event.pre-collection-remove">org.hibernate.envers.event.AuditEventListener</prop>
                <prop key="hibernate.ejb.event.post-collection-recreate">org.hibernate.envers.event.AuditEventListener</prop> -->
                <prop key="org.hibernate.envers.revision_field_name">REV</prop>
                <prop key="org.hibernate.envers.revision_type_field_name">REVTYPE</prop>
                <prop key="org.hibernate.envers.auditTablePrefix"></prop>
                <prop key="org.hibernate.envers.auditTableSuffix">_HISTORY</prop>
                <prop key="hibernate.hbm2ddl.auto">create</prop>
                <prop key="hibernate.show_sql">true</prop>
            </props>
        </property>
Run Code Online (Sandbox Code Playgroud)

在我的域类中添加了@Audited注释

@Entity
@Audited
@Table(name="user")
public class User implements Serializable {
Run Code Online (Sandbox Code Playgroud)

但是这个配置删除了我现有的表

例如

Mydatabase
-----------

user
product
order_details
user_role
login
Run Code Online (Sandbox Code Playgroud)

我的数据库中有5个表.运行我的应用程序后,它显示3个表.它不删除创建"审计"表,而是删除现有表.

 Mydatabase
  -----------

  user
  product
  order_details
Run Code Online (Sandbox Code Playgroud)

如何在不触及现有表的情况下创建审计(_HISTORY)表???

java spring hibernate jpa hibernate-envers

12
推荐指数
1
解决办法
8797
查看次数

如何从customRevisionEntity检索用户名

我们正在使用Hibernate-envers 3.6.3.Final,我正在使用@Audited注释正确生成表.我使用CustomRevisionEntity存储用户信息,CustomRevisionListenner也存储用户信息.但是,如果我尝试检索"用户名",它将返回以下错误.

org.hibernate.HibernateException: No Hibernate Session bound to thread, and configuration does not allow creation of non-transactional one here
    at org.springframework.orm.hibernate3.SpringSessionContext.currentSession(SpringSessionContext.java:64) ~[spring-orm-3.2.6.RELEASE.jar:3.2.6.RELEASE]
Run Code Online (Sandbox Code Playgroud)

我的CustomRevisionEntity类,

@Entity
@Table(name = "revision_info")
@RevisionEntity(CustomEnversListener.class)
public class CustomRevisionEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    @Id
    @GeneratedValue
    @RevisionNumber
    private int id;

    @RevisionTimestamp
    private long timestamp;

    private String username;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public long getTimestamp() {
        return timestamp;
    }

    public void setTimestamp(long …
Run Code Online (Sandbox Code Playgroud)

java hibernate hibernate-envers

11
推荐指数
1
解决办法
1342
查看次数

Jersey 2 + Swagger返回空列表API

我们使用的是spring 4.x和swagger-jersey2-jaxrs_2.10.Swagger没有列出我的API,它总是只返回版本细节.

的pom.xml

<dependency>
    <groupId>com.wordnik</groupId>
    <artifactId>swagger-jersey2-jaxrs_2.10</artifactId>
    <version>1.3.13</version>
    <scope>compile</scope>
</dependency>

<dependency>
    <groupId>org.glassfish.jersey.core</groupId>
    <artifactId>jersey-server</artifactId>
    <version>2.23.2</version>
</dependency>

<dependency>
    <groupId>org.glassfish.jersey.containers</groupId>
    <artifactId>jersey-container-servlet-core</artifactId>
    <version>2.23.2</version>
</dependency>

<dependency>
    <groupId>org.glassfish.jersey.media</groupId>
    <artifactId>jersey-media-multipart</artifactId>
    <version>2.23.2</version>
</dependency>

<dependency>
    <groupId>org.glassfish.jersey.media</groupId>
    <artifactId>jersey-media-json-jackson</artifactId>
    <version>2.23.2</version>
</dependency>

 <dependency>
     <groupId>org.glassfish.jersey.ext</groupId>
     <artifactId>jersey-spring3</artifactId>
     <version>2.23.2</version>
     <exclusions>
         <exclusion>
             <groupId>org.springframework</groupId>
             <artifactId>spring-beans</artifactId>
         </exclusion>
         <exclusion>
             <groupId>org.springframework</groupId>
             <artifactId>spring-context</artifactId>
         </exclusion>
         <exclusion>
             <groupId>org.springframework</groupId>
             <artifactId>spring-core</artifactId>
         </exclusion>
         <exclusion>
             <groupId>org.springframework</groupId>
             <artifactId>spring-web</artifactId>
         </exclusion>
         <exclusion>
              <groupId>org.springframework</groupId>
              <artifactId>spring-aop</artifactId>
         </exclusion>
     </exclusions>
</dependency>
Run Code Online (Sandbox Code Playgroud)

web.xml中

 <filter>
        <filter-name>SpringApplication</filter-name>
        <filter-class>org.glassfish.jersey.servlet.ServletContainer</filter-class>

        <init-param>
            <param-name>javax.ws.rs.Application</param-name>
            <param-value>xxx.xxx.xxx.filter.JerseyApiSpringFilter</param-value>
        </init-param>

        <init-param>
            <param-name>jersey.config.servlet.filter.forwardOn404</param-name>
            <param-value>false</param-value>
        </init-param>

        <init-param>
            <param-name>jersey.config.servlet.filter.staticContentRegex</param-name>
            <param-value>/docs/.*</param-value>
        </init-param>
    </filter>
Run Code Online (Sandbox Code Playgroud)

资源类

@Path("/listApi")
@Component
@Scope("request")
@Api(value = "/listApi", …
Run Code Online (Sandbox Code Playgroud)

java spring swagger jersey-2.0

8
推荐指数
1
解决办法
511
查看次数

我可以使用Liquibase创建Hibernate Envers特定表

我们的Java应用程序是基于Spring的,我们有域类和通过Liquibase生成的相应模式.

我们计划添加对要审核的单个域的支持.

一个.我们没有hibernate.xml和hibernate.cfg.xml,而是使用application-context.xml.那么如何通过@Audited等注释创建审计表.

我该如何解决这个问题?我添加了hibernate配置

<property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</prop>
                <prop key="hibernate.ejb.event.post-insert">org.hibernate.ejb.event.EJB3PostInsertEventListener,org.hibernate.envers.event.AuditEventListener</prop>
                <prop key="hibernate.ejb.event.post-update">org.hibernate.ejb.event.EJB3PostUpdateEventListener,org.hibernate.envers.event.AuditEventListener</prop>
                <prop key="hibernate.ejb.event.post-delete">org.hibernate.ejb.event.EJB3PostDeleteEventListener,org.hibernate.envers.event.AuditEventListener</prop>
                <prop key="hibernate.ejb.event.pre-collection-update">org.hibernate.envers.event.AuditEventListener</prop>
                <!-- <prop key="hibernate.ejb.event.pre-collection-remove">org.hibernate.envers.event.AuditEventListener</prop>
                <prop key="hibernate.ejb.event.post-collection-recreate">org.hibernate.envers.event.AuditEventListener</prop> -->
                <prop key="org.hibernate.envers.revision_field_name">REV</prop>
                <prop key="org.hibernate.envers.revision_type_field_name">REVTYPE</prop>
                <prop key="org.hibernate.envers.auditTablePrefix"></prop>
                <prop key="org.hibernate.envers.auditTableSuffix">_AUD</prop>
                <prop key="hibernate.hbm2ddl.auto">update</prop>
                <prop key="hibernate.show_sql">true</prop>
            </props>
        </property>
Run Code Online (Sandbox Code Playgroud)

在我的域类中添加了@Audited注释

@Entity
@Audited
@Table(name="user")
public class User implements Serializable {
Run Code Online (Sandbox Code Playgroud)

但是此配置未在开发环境中创建审计表.我不清楚我在这里缺少什么额外的配置.

湾 如何使用Liquibase创建必要的envers特定模式,生产团队不熟悉在生产环境中自动生成SQL模式的想法.

java spring hibernate hibernate-envers

7
推荐指数
1
解决办法
1773
查看次数

为什么 SpotBugs Gradle 插件总是生成 XML 报告而不是 HTML?

我正在使用 Gradle 5.2、spotbugs-gradle-plugin 版本 2.0.0 并尝试在我的项目上生成 SpotBugs 报告。我在我的项目中使用了以下配置,但它总是创建 XML 报告而不是 html 报告。

buildscript {
    repositories {
        jcenter()
        maven {
            url "https://plugins.gradle.org/m2/"
        }
    }

    dependencies {
        classpath 'com.github.jengelman.gradle.plugins:shadow:+'
        classpath "gradle.plugin.com.github.spotbugs:spotbugs-gradle-plugin:2.0.0"
    }
}

allprojects {
    apply plugin: 'com.github.johnrengelman.shadow'
    apply plugin: 'java'
    apply plugin: 'eclipse'
    apply plugin: 'com.github.spotbugs'

    group = 'com.myproject'
    version = '1.0.0'

    repositories {
        mavenCentral()
    }

    dependencies {
        compile('com.google.cloud:google-cloud-storage:+') {
            exclude group: "com.google.guava", module: "guava"
        }
        compile group: 'org.apache.commons', name: 'commons-collections4', version: '+'
        compile group: 'com.google.guava', name: 'guava', version: '+'

        testImplementation('org.junit.jupiter:junit-jupiter:+') …
Run Code Online (Sandbox Code Playgroud)

gradle spotbugs

7
推荐指数
0
解决办法
7227
查看次数

在NLP的帮助下分析句子并提取人名,组织和位置

我需要使用NLP来解决以下问题,您能否指出如何使用OpenNLP API实现这一点

一个.如何判断一个句子是否暗示过去,现在或将来的某种行为.

(e.g.) I was very sad last week - past
       I feel like hitting my neighbor - present
       I am planning to go to New York next week - future
Run Code Online (Sandbox Code Playgroud)

湾 如何找到与个人,公司或国家相对应的单词

(e.g.) John is planning to specialize in Electrical Engineering in UC Berkley and pursue a career with IBM).
Run Code Online (Sandbox Code Playgroud)

人=约翰

公司= IBM

位置=伯克利

谢谢

java nlp stanford-nlp opennlp

6
推荐指数
1
解决办法
7411
查看次数

如何获取已删除实体的数量

我使用以下方法根据某个where条件删除一组对象,但实际上删除的对象的数量可能小于传递的集合.如何获取已删除实体的实际数量

http://docs.spring.io/spring/docs/2.5.x/api/org/springframework/orm/hibernate3/HibernateTemplate.html#deleteAll(java.util.Collection)

java spring hibernate

6
推荐指数
1
解决办法
230
查看次数

有没有办法在没有Projection的情况下返回具有id的关联对象

我使用的是spring-boot-starter-parent 1.4.1.RELEASE.

  1. Spring引导@ResponseBody默认情况下不会序列化实体ID.

如果我使用exposeIdsFor返回id,但我需要为每个类配置它

例如

RepositoryRestConfiguration.exposeIdsFor(User.class); RepositoryRestConfiguration.exposeIdsFor(Address.class);

是否有更简单的配置来执行此操作而不配置每个实体类.

请参阅:https://jira.spring.io/browse/DATAREST-366

  1. REST资源将该属性呈现为其对应关联资源的URI.我们需要返回关联的对象而不是URI.

如果我使用Projection,它将返回关联的对象,但我需要为每个类配置它

例如

@Entity
public class Person {

  @Id @GeneratedValue
  private Long id;
  private String firstName, lastName;

  @ManyToOne
  private Address address;
  …
}
Run Code Online (Sandbox Code Playgroud)

PersonRepository:

interface PersonRepository extends CrudRepository<Person, Long> {}
Run Code Online (Sandbox Code Playgroud)

PersonRepository返回,

{
  "firstName" : "Frodo",
  "lastName" : "Baggins",
  "_links" : {
    "self" : {
      "href" : "http://localhost:8080/persons/1"
    },
    "address" : {
      "href" : "http://localhost:8080/persons/1/address"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

我的预测:

@Projection(name = "inlineAddress", types = { Person.class }) 
interface InlineAddress …
Run Code Online (Sandbox Code Playgroud)

java spring spring-data-rest

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