我尝试更改默认捆绑版本,但它已更新为 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) 我有一个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) 我们需要使用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)表???
我们正在使用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) 我们使用的是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的,我们有域类和通过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模式的想法.
我正在使用 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) 我需要使用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
位置=伯克利
谢谢
我使用以下方法根据某个where条件删除一组对象,但实际上删除的对象的数量可能小于传递的集合.如何获取已删除实体的实际数量
我使用的是spring-boot-starter-parent 1.4.1.RELEASE.
如果我使用exposeIdsFor返回id,但我需要为每个类配置它
例如
RepositoryRestConfiguration.exposeIdsFor(User.class); RepositoryRestConfiguration.exposeIdsFor(Address.class);
是否有更简单的配置来执行此操作而不配置每个实体类.
请参阅:https://jira.spring.io/browse/DATAREST-366
如果我使用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)