小编Fel*_*elk的帖子

类 org.hibernate.mapping.BasicValue 不能转换为类 org.hibernate.mapping.ToOne

这是当我尝试执行 spring boot api 来生成数据库时发生的错误:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: class org.hibernate.mapping.BasicValue cannot be cast to class org.hibernate.mapping.ToOne (org.hibernate.mapping.BasicValue and org.hibernate.mapping.ToOne are in unnamed module of loader 'app')
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1770) ~[spring-beans-6.0.9.jar:6.0.9]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:598) ~[spring-beans-6.0.9.jar:6.0.9]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:520) ~[spring-beans-6.0.9.jar:6.0.9]
    at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) ~[spring-beans-6.0.9.jar:6.0.9]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-6.0.9.jar:6.0.9]
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) ~[spring-beans-6.0.9.jar:6.0.9]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) ~[spring-beans-6.0.9.jar:6.0.9]
    at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1156) ~[spring-context-6.0.9.jar:6.0.9]
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:931) ~[spring-context-6.0.9.jar:6.0.9]
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:608) ~[spring-context-6.0.9.jar:6.0.9]
    at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) ~[spring-boot-3.1.0.jar:3.1.0]
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:733) ~[spring-boot-3.1.0.jar:3.1.0]
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:435) ~[spring-boot-3.1.0.jar:3.1.0]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:311) ~[spring-boot-3.1.0.jar:3.1.0]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1305) …
Run Code Online (Sandbox Code Playgroud)

mapping hibernate spring-boot

14
推荐指数
1
解决办法
1万
查看次数

如何为不可变类创建默认构造函数

我喜欢根据这篇文章使我的对象不可变(为什么对象必须是不可变的).

但是,我试图使用Jackson Object Mapper解析一个对象.我最初得到了JsonMappingException: No suitable constructor found for type [simple type, class ]: cannot instantiate from JSON object.

如前所述我可以修复它在这里,通过提供一个默认的构造,使我场的非决赛.

import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.NonNull;

@AllArgsConstructor
// @NoArgsConstructor(access = AccessLevel.PRIVATE)
@Builder
@Data
public class School {

    @NonNull
    private final String schoolId;

    @NonNull
    private final String schoolName;
}
Run Code Online (Sandbox Code Playgroud)

为了克服这个问题,我应该遵循什么样的编程风格?唯一的方法是让我的对象变得可变吗?

我可以使用不使用默认构造函数的其他映射器吗?

java immutability jackson lombok

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

如何根据属性正确处理订阅

我有一个全局服务widgetService,其中包含许多小部件的数据,每个小部件都由一个小部件标识widgetID.每个小部件的数据都可以随时更改.我想用React组件显示一个小部件WidgetReactComponent.

react组件应将小部件ID作为属性,并从小部件服务中获取要显示的信息.可以使用该方法从窗口小部件服务查询窗口小部件的数据getWidgetData(widgetID).并且为了能够发布数据更改,它还提供了两种方法:addListenerForWidget(widgetID, listener)removeListenerForWidget(widgetID, listener).

当假设属性设置一次但从未改变时,可以按照React的建议这样实现:

class WidgetReactComponent extends Component {
    constructor() {
        super();
        this.state = {
            data: widgetService.getWidgetData(this.props.widgetID)
        };
        this._onDataChange = this._onDataChange.bind(this);
    }

    _onDataChange(newData) {
        this.setState({data: newData});
    }

    componentDidMount() {
        // React documentation: "This method is a good place to set up any subscriptions."
        widgetService.addListenerForWidget(this.props.widgetID, this._onDataChange);
    }

    componentWillUnmount() {
        // React documentation: "Perform any necessary cleanup in this method, such as [...] cleaning up any subscriptions that were …
Run Code Online (Sandbox Code Playgroud)

javascript listener publish-subscribe reactjs react-props

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

正则表达式 - 匹配一个字符及其所有变音符号(也就是重音不敏感)

我试图用正则表达式匹配一个角色及其所有可能的变音变奏曲(也就是重音不敏感).我当然可以做的是:

re.match(r"^[e?é?è?ê?ë???????????????]$", "é")
Run Code Online (Sandbox Code Playgroud)

但这不是一般解决方案.如果我使用unicode类别,就像\pL我无法将匹配减少到特定字符,在这种情况下e.

python regex diacritics python-3.x accent-insensitive

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

泛型类型别名,它们彼此不兼容

我正在尝试构造某种"泛型类型别名",这意味着我想要定义一个类型int,例如,但是使用泛型类型参数,然后使其与其他类型的实例不兼容.

我尝试使用别名模板执行此操作:

template <typename T>
using NumberWithSemantics = int;
Run Code Online (Sandbox Code Playgroud)

但问题是所有实例化,无论类型如何T,都被认为是相同的,例如:

struct A {};
struct B {};

NumberWithSemantics<A> getThing() {
    return 14;
}

int processDifferentThing(NumberWithSemantics<B> b) {
    return b * 3;
}

int main() {
    auto a = getThing();
    return processDifferentThing(a); // unfortunately compiles just fine
}
Run Code Online (Sandbox Code Playgroud)

有没有办法定义某种不允许混合不同模板实例的泛型类型别名?

c++ templates generic-programming type-alias c++17

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

将范围列表展平为单个结果范围集

我试图按定义的顺序(在提供的示例中按名称的字母顺序)将范围列表“展平”为单个合并结果。较新的范围覆盖较旧范围的值。从概念上讲,它看起来像这样,“e”是最新的范围:

0   1   2   3   4   5   6   7

|-------------a-------------|
        |---b---|            
    |---c---|                
                |---d---|    
            |---e---|        

|-a-|---c---|---e---|-d-|-a-|  <-- expected result
Run Code Online (Sandbox Code Playgroud)

为了防止进一步混淆:这里的预期结果确实是正确的。值 0 - 7 只是范围的值,而不是时间上的进展。为简单起见,我在这里使用整数,但这些值可能不是离散的而是连续的。

请注意,这b完全被掩盖了,不再相关。

数据可以在 SQL 中像这样建模:

0   1   2   3   4   5   6   7

|-------------a-------------|
        |---b---|            
    |---c---|                
                |---d---|    
            |---e---|        

|-a-|---c---|---e---|-d-|-a-|  <-- expected result
Run Code Online (Sandbox Code Playgroud)

如果有一种方法可以直接在 SQL 中查询结果,那将是完美的,例如:

create table ranges (
    name varchar(1),
    range_start integer,
    range_end integer
);

insert into ranges (name, range_start, range_end) values ('a', 0, 7);
insert into ranges (name, range_start, range_end) values ('b', …
Run Code Online (Sandbox Code Playgroud)

sql oracle range intervals

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

配置安全的SSL Apache代理

我正在尝试使用apache建立代理安装程序,该安装程序始终完全支持SSL:

Client   <-->   Proxy @ somehostname.com   <-->   Server @ 123.45.67.89
Run Code Online (Sandbox Code Playgroud)

请注意,我的代理服务器具有主机名,但是远程服务器没有。客户端和代理之间的SSL设置可以与letencrypt设置一起正常工作。但是,我正在努力确保代理与远程服务器之间的连接安全。

因为远程服务器没有主机名,而且letencrypt并不只为IP颁发证书,所以我的想法是生成一个自签名证书,并将证书复制到代理中以仅信任该证书。不幸的是我不知道如何。

如果我只是禁用这些证书检查,则连接有效,因为代理仅信任每个证书:

SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
Run Code Online (Sandbox Code Playgroud)

虽然加密可以正常工作,但据我所知,真实性受到了损害,并且在握手期间我会遭受MitM攻击。这是不理想的。

相反,我已指示Apache信任我的自签名证书

SSLProxyCACertificateFile /path/to/cert.pem
Run Code Online (Sandbox Code Playgroud)

然后尝试强制使用有效的证书

SSLProxyVerify require
Run Code Online (Sandbox Code Playgroud)

但是,尽管我明确列出了证书,以及SSLProxyCACertificateFile说“这些用于远程服务器身份验证” 的文档,但它似乎并不信任它。

有没有一种方法可以确保代理服务器与远程服务器之间的连接是安全的,例如通过强制Apache始终使用该特定证书连接到代理服务器?

apache ssl https proxy

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

使用 youtube 数据 api 设置视频游戏

我正在寻找一种以编程方式设置视频游戏的方法。“游戏”是指使这些内容出现在视频描述中的视频设置:

在此处输入图片说明

我可以使用该categoryId字段设置和读取类别,例如"20"用于游戏。但是我找不到任何官方方法来设置某种游戏 ID。

Youtube Studio 似乎执行此操作以实现目标(缩短):

POST https://studio.youtube.com/youtubei/v1/video_manager/metadata_update
{
  "encryptedVideoId": "UEUN1xD6BFI",
  "videoReadMask": {...},
  "gameTitle": {
    "newKgEntityId": "/g/11gfhqhs78"
  },
  "context": {...}
}
Run Code Online (Sandbox Code Playgroud)

它使用了一些称为SAPISIDHASH授权的东西,有些人似乎对其进行了逆向工程,但在我尝试这样做之前,我想看看是否有官方支持的方式来做到这一点。

youtube youtube-api youtube-data-api

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

将luasocket添加到自带lua环境的程序(bizhawk)中

我试图让 luasocket 在Bizhawk的 lua 脚本环境中工作,但到目前为止还没有运气。我在这里下载了vc8版本的luasocket ,确保我已经安装了vc8,并检查了bizhawk自带的lua版本:5.1

但是,当我启动脚本时,出现以下错误:

LuaInterface.LuaScriptException: error loading module 'socket.core' from file './libs/socket\core.dll':
    Das angegebene Modul wurde nicht gefunden. (the given module was not found)
Run Code Online (Sandbox Code Playgroud)

lua代码:

package.path = package.path..';./libs/lua/?.lua'
package.cpath = package.cpath..';./libs/?.dll'
local socket = require("socket")
Run Code Online (Sandbox Code Playgroud)

文件系统结构:

libs
   > lua
       > socket
            ftp.lua http.lua smtp.lua tp.lua url.lua
       ltn12.lua
       mime.lua
       socket.lua
   > socket
       core.dll
   > mime
       core.dll
Run Code Online (Sandbox Code Playgroud)

它似乎找到了文件,因为当我的文件结构错误时,它给了我实际的文件未找到错误。我最好的猜测是,Bizhawk 附带的 lua 和外部 luasocket 库二进制文件之间存在某种不兼容,但我没有想法。

lua luasocket lua-5.1

4
推荐指数
1
解决办法
3040
查看次数